package 链表.middle;

import 链表.easy.YiSiYi;

import java.util.HashSet;
import java.util.Set;

/**
 * 环形链表2
 * @author Lw中
 * @date 2020/9/22 15:35
 */
public class YiSiEr {

    class ListNode {
        int val;
        ListNode next;
        ListNode(int x) {
            val = x;
            next = null;
        }
    }

    public ListNode detectCycle(ListNode head) {
        /* 使用set集合从头部存储节点 */
        Set<ListNode> hashSet = new HashSet<>();
        /* 直到节点遍历完成 */
        while (head != null) {
            if (hashSet.contains(head)) {
                return head;
            }
            hashSet.add(head);
            head = head.next;
        }
        return null;
    }

    public static void main(String[] args) {

    }

}
